package com.junxonline.instant.admin.service.config;

import com.baomidou.mybatisplus.extension.service.IService;
import com.junxonline.instant.dao.entity.model.config.Setting;
import com.junxonline.instant.dao.entity.vo.config.SettingVO;
import com.junxonline.instant.common.entity.common.CommonReqPage;
import com.junxonline.instant.common.entity.common.CommonRespPage;

import java.util.List;

/**
 * 参数管理接口
 *
 * @author JunX
 * @date 2021-08-12
 */
public interface SettingService extends IService<Setting> {

    /**
     * 根据系统参数名称查询参数值
     *
     * @param vo 请求参数
     * @return Setting
     */
    Setting querySettingByName(SettingVO vo);

    /**
     * 查询参数列表
     *
     * @param vo 请求参数
     * @return CommonRespPage<Setting>
     */
    CommonRespPage<Setting> queryList(CommonReqPage<SettingVO> vo);

    /**
     * 查询参数
     *
     * @param id ID
     * @return Setting
     */
    Setting query(Long id);

    /**
     * 新增参数
     *
     * @param setting 请求参数
     */
    void add(Setting setting);

    /**
     * 编辑参数
     *
     * @param setting 请求参数
     */
    void edit(Setting setting);

    /**
     * 删除参数
     *
     * @param ids 请求参数
     */
    void delete(List<Long> ids);

}
